#ifndef _LOGGER_H_
#define _LOGGER_H_

#include <string>
#include <log4cpp/Category.hh>

class Logger{
public:
	bool init(const std::string &log_conf_file);
	static Logger* instance(){
		return  &instance_;
	}
	
	log4cpp::Category* GetHandle(){
		return category_;
	}
	
protected:
	static Logger instance_;
	log4cpp::Category *category_;
};

#define LOG_INFO  Logger::instance()->GetHandle()->info
#define LOG_DEBUG Logger::instance()->GetHandle()->debug
#define LOG_ERROR Logger::instance()->GetHandle()->error
#define LOG_WARN  Logger::instance()->GetHandle()->warn


#endif     //_LOGGER_H_